/**
 *    Copyright 2009-2018 the original author or authors.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */
package org.apache.ibatis.mapping;

import java.sql.ResultSet;

/**
 * int 	CLOSE_CURSORS_AT_COMMIT	该常量指示提交当前事务时，具有此可保存性的打开的 ResultSet 对象将被关闭。
 * int 	CONCUR_READ_ONLY	该常量指示不可以更新的 ResultSet 对象的并发模式。
 * int 	CONCUR_UPDATABLE	该常量指示可以更新的 ResultSet 对象的并发模式。
 * int 	FETCH_FORWARD	该常量指示将按正向（即从第一个到最后一个）处理结果集中的行。
 * int 	FETCH_REVERSE	该常量指示将按逆向（即从最后一个到第一个）处理结果集中的行处理。
 * int 	FETCH_UNKNOWN	该常量指示结果集中的行的处理顺序未知。
 * int 	FETCH_UNKNOWN	该常量指示提交当前事务时，具有此可保存性的打开的 ResultSet 对象将保持开放。
 * int 	TYPE_FORWARD_ONLY	该常量指示光标只能向前移动的 ResultSet 对象的类型。
 * int 	TYPE_SCROLL_INSENSITIVE	该常量指示可滚动,再固定条件下可以修改表内容;
 * int 	TYPE_SCROLL_SENSITIVE	该常量指示可滚动并且,不可修改表内容;
 * @author Clinton Begin
 */
public enum ResultSetType {
  /**
   * behavior with same as unset (driver dependent).
   *
   * @since 3.5.0
   */
  DEFAULT(-1),
  /**
   * 该常量指示光标只能向前移动的 ResultSet 对象的类型。
   */
  FORWARD_ONLY(ResultSet.TYPE_FORWARD_ONLY),
  /**
   * 该常量指示可滚动,在固定条件下可以修改表内容
   */
  SCROLL_INSENSITIVE(ResultSet.TYPE_SCROLL_INSENSITIVE),
  /**
   * 该常量指示可滚动并且,不可修改表内容;
   */
  SCROLL_SENSITIVE(ResultSet.TYPE_SCROLL_SENSITIVE);

  private final int value;

  ResultSetType(int value) {
    this.value = value;
  }

  public int getValue() {
    return value;
  }
}
